home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / BUS / LogicSim 3.0b Folder.sit / LogicSim 3.0b Folder / LogicSim 3.0b ƒ / Examples / Ulf / About Ulf's circuits next >
Text File  |  1995-10-25  |  3KB  |  79 lines

  1. About Ulf's circuitsノ
  2.  
  3. This examples are given by  Ulf Dittmer (ucdittme@top.cis.syr.edu)
  4. Thanks to him !
  5.  
  6.  
  7. ・ 2-complement Add/Subtract
  8.  
  9.     It's an Add/Subtract circuit for
  10.     4 bit numbers in 2-complement notation. In this notation a
  11.     number and its negative add up to 2**n, where n is the number
  12.     of bits used (4 in this case). So -1 equals 1111 and -8
  13.     equals 1000 (and there is no +8). The nice thing about
  14.     2-complement is that subtraction can be done by adding the
  15.     bit-inverse of the subtrahend and adding 1. So I use an
  16.     input to distinguish between addition and subtraction
  17.     (which must be 0 for adding and 1 for subtracting) and
  18.     feed this as an additional signal in the adder of the lowest
  19.     significant bit (Note that this was formerly a half adder;
  20.     it's now a full adder). An overflow occurs if the carry-out
  21.     signals of the two most significant bits are not equal.
  22.  
  23.  
  24.  
  25. ・ 4 bit Shift Latch
  26.  
  27.         This is basically a 4 bit Flip-Flop with two inputs that control
  28.         what happens when the clock input is triggered. It is built from
  29.         your "DFF" Flip-Flop.
  30.         
  31.         Input1   Input2    what happens
  32.         -------------------------------
  33.           0         0       nothing
  34.           0         1       the input values are stored in the latch
  35.           1         0       shift left, the "inL" (for Input Low) value
  36.                             goes into cell 0, the value in cell 3 is lost
  37.           1         1       shift right, the "inH" (for Input High) value
  38.                             goes into cell 3, the value in cell 0 is lost
  39.  
  40. ・ 4 bit multiplier
  41.  
  42.         This circuit is really complex, awkward to use and sloooow.
  43.         (Perhaps you do not want to include it in the distribution. :-)
  44.                                 (yes, but Quadra950 recommanded !!! - Arnaud)
  45.         The basic usage is: put your two factors in a0-a3 and b0-b3, then
  46.         use the Clock/Initialize/Add/Shift inputs in the correct manner
  47.         and - presto! - the result is shown in p0-p7 and the display.
  48.         (Note: this works with UNSIGNED 4 bit numbers, for the sake of
  49.         simplicity :-)
  50.         
  51.         Now what is a correct usage ?
  52.         - load your multiplicands in a and b
  53.         - set "Initialize" to 1
  54.         - press the "Clock" button
  55.         - set "Initialize" to 0
  56.         - Now the latches "A" and "B" have the factors loaded.
  57.         - Repeat the following six steps n times (n=4 in this case):
  58.                 - set "Add" to 1
  59.                 - press the "Clock" button
  60.                 - set "Add" to 0
  61.                 - set "Shift" to 1
  62.                 - press the "Clock" button
  63.                 - set "Shift" to 0
  64.         - Now p shows the result.
  65.         - In fact, the first three of the six steps can be omitted in
  66.                 every iteration in which the "out0" value of Latch "A" is
  67.                 zero, because nothing would be added.
  68.  
  69.         I tried to automate this sequence in a simple way, but it did not
  70.         work. So I guess I have to take the conventional, complex way.
  71.         To use the circuit for another multiplication it is not sufficient
  72.         to just initialize it with new factors. You have to manually clear
  73.         the latches. Also a thing that could be automated. As I said,
  74.         awkward to use and a lot to be improved (not to mention signed
  75.         numbers...).
  76.  
  77. PS: there are stimulis that take much of the pain of using it out of it. Just
  78. type in the two multiplicands in the first eight lines and you're ready to go.
  79.